package com.meilai.project.dto.business.contract;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.meilai.project.controller.web.business.contract.dto.ContractAttachmentReq;
import com.meilai.project.dto.workflow.WorkFlowExtraSubmitDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * @author xchen
 * @since 2022-03-13
 */
@Data
@ApiModel
public class BaseContract extends WorkFlowExtraSubmitDTO {
    @ApiModelProperty("customer_id")
    private Long customer_id;

    @ApiModelProperty("补充协议类型，1：新增，2：修改")
    private Integer type;

    @ApiModelProperty("父合同ID")
    private Long parent_id;

    @ApiModelProperty("甲方")
    private String part_a;

    @ApiModelProperty("甲方联系方式")
    private String part_a_phone;

    @ApiModelProperty("乙方id")
    private Long part_b_id;

    @ApiModelProperty("乙方名称")
    private String part_b_name;

    @ApiModelProperty("乙方联系方式")
    private String part_b_phone;

    @ApiModelProperty("广告发布媒体")
    private String release_media;

    @ApiModelProperty("发布规格")
    private String release_spec;

    @ApiModelProperty("发布内容")
    private String release_content;

    @ApiModelProperty("发布期间")
    private String release_period;

    @ApiModelProperty("发布地点和范围")
    private String release_area_scope;

    @ApiModelProperty("开户名")
    private String bank_account_name;

    @ApiModelProperty("开户行名")
    private String bank_name;

    @ApiModelProperty("开户号")
    private String bank_num;

    @ApiModelProperty("优惠价格")
    private BigDecimal discounted_price;

    @ApiModelProperty("优惠价格（大写）")
    private String discounted_price_big;

    @ApiModelProperty("自有资源价格")
    private BigDecimal self_price;

    @ApiModelProperty("代理资源价格")
    private BigDecimal proxy_price;

    @ApiModelProperty("画面更换价格")
    private BigDecimal replace_price;

    @ApiModelProperty("画面多次更换价格")
    private BigDecimal multi_replace_price;

    @ApiModelProperty("广告发布费")
    private BigDecimal advertising_costs;

    @ApiModelProperty("广告发布费（大写）")
    private String advertising_costs_big;

    @ApiModelProperty("甲方人联系方式")
    private String part_a_contact;

    @ApiModelProperty("乙方人联系方式")
    private String part_b_contact;

    @ApiModelProperty("验收方式")
    private String acceptance_way;

    @ApiModelProperty("合同开始日期")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate contract_begin_date;

    @ApiModelProperty("合同结束日期")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate contract_end_date;

    @ApiModelProperty("其他约定")
    private String memo;

    @ApiModelProperty("签订日期")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate sign_date;

    @ApiModelProperty("choose_id")
    private Long choose_id;

    @ApiModelProperty("附件id列表")
    private List<ContractAttachmentReq> attachmentList;
}
